<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  <link rel="stylesheet" href="css/reset.css" />
  <link rel="stylesheet" href="css/main.css" />
  <title>聊天机器人</title>
</head>

<body>
  <div class="wrap">
    <!-- 头部 Header 区域 -->
    <div class="header">
      <h3>小思同学</h3>
      <img src="img/person01.png" alt="icon" />
    </div>
    <!-- 中间 聊天内容区域 -->
    <div class="main">
      <ul class="talk_list" style="top: 0px;" id="talk_list">
        <!-- 机器人 -->
        <li class="left_word">
          <img src="img/person01.png" /> <span>嗨，最近想我没有？</span>
        </li>
        <!-- 我 -->
        <!-- <li class="right_word">
          <img src="img/person02.png" /> <span>嗨，最近想我没有？</span>
        </li> -->
      </ul>
    </div>
    <!-- 底部 消息编辑区域 -->
    <div class="footer">
      <img src="img/person02.png" alt="icon" />
      <input type="text" placeholder="说的什么吧..." class="input_txt" id="ipt" />
      <input type="button" value="发 送" class="input_sub" id="btnSend" />
    </div>
  </div>
  <script type="text/javascript" src="./js/axios.js"></script>
  <audio src="" id="voice" autoplay style="display: none;"></audio>
  <script>
    let ipt = document.querySelector('#ipt')
    let btnSend = document.querySelector('#btnSend')
    let ul = document.querySelector('#talk_list')
    let voice = document.querySelector('#voice')

    // 发布功能
    btnSend.addEventListener('click', async function () {
      // 用户说的话
      let content = ipt.value.trim()

      // 清空效果
      ipt.value = ''

      // 没有内容不让发送
      // 字符串.trim() 可以去除首尾空格
      if (content === '') {
        return alert('请输入内容')
      }

      // 用户说的话添加到ul中展示
      let newLi = document.createElement('li')
      newLi.className = 'right_word'
      newLi.innerHTML = `
        <img src="img/person02.png" /> <span>${content}</span>
      `
      ul.append(newLi)
      // ul滚动距离为ul的内容高度 ==> 可以实现滚动到底部去
      ul.scrollTop = ul.scrollHeight


      // todo 发送ajax请求来获取机器人说的话
      // 接口地址：'http://ajax-api.itheima.net/api/robot'
      // 请求方式： GET
      // 参数： spoken 用户说的话
      const { data: { data } } = await axios.get('http://ajax-api.itheima.net/api/robot', {
        params: { spoken: content }
      }
      )
      // console.log(data.info.text);

      const txt = data.info.text
      // 机器人说的话放到ul中展示
      let leftLi = document.createElement('li')
      leftLi.className = 'left_word'
      leftLi.innerHTML = `
           <img src="img/person01.png" /> <span>${txt}</span>
        `
      ul.append(leftLi)
      // ul滚动到底部
      ul.scrollTop = ul.scrollHeight


      // todo 机器人的文字转语音 接口
      // 接口地址  http://ajax-base-api-t.itheima.net/api/synthesize
      // 请求方式  GET
      // 参数：text   机器人说的话
     const str1=await axios.get('http://ajax-base-api-t.itheima.net/api/synthesize',{params:{text:txt}})
     console.log(str1.data.voiceUrl);
      // 将机器人的文字转语音的结果（voiceUrl）赋值给audio的src属性
      voice.src = str1.data.voiceUrl
    })

    // 回车发布 ==> 模拟点击了发送按钮
    ipt.addEventListener('keyup', function (e) {
      if (e.key === 'Enter') {
        btnSend.click()
      }
    })
  </script>
</body>

</html>